import time

from ocr排序.gap_tree_sort.paragraph_parse import ParagraphParse

x = {
    'error': 0,
    'result':
        [
            {'error': 0,
             'result':
                 [
                     {'box': [92, 96, 844, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9992925524711609,
                      'text': '嘉陵江支流越江河低坑村河段发育有一处瀑布，瀑布下方在冲刷作用下形成一个深度超',
                      'url': None},
                     {'box': [44, 131, 892, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9980708360671997,
                      'text': '过3m的水潭，水潭周围堆积着大量的崩塌巨石。瀑布上游和下游的河流地貌形态截然不',
                      'url': None},
                     {'box': [44, 168, 786, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9951595067977905,
                      'text': '同。图3示意低坑瀑布位置及附近河道的三个河谷横剖面。据此完成10～12题。',
                      'url': None},
                     {'box': [771, 207, 85, 31], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8492673635482788, 'text': '紫色土', 'url': None},
                     {'box': [585, 225, 49, 29], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9977810382843018, 'text': '西南', 'url': None},
                     {'box': [526, 247, 54, 22], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9998185634613037, 'text': '越江河', 'url': None},
                     {'box': [371, 254, 26, 18], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9940997362136841, 'text': '275', 'url': None},
                     {'box': [734, 269, 106, 36], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.7931849956512451, 'text': '6泥岩', 'url': None},
                     {'box': [371, 271, 26, 19], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9982970952987671, 'text': '265', 'url': None},
                     {'box': [551, 277, 7, 10], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.0, 'text': '', 'url': None},
                     {'box': [369, 291, 27, 17], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9454960823059082, 'text': '255', 'url': None},
                     {'box': [740, 293, 29, 16], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9281162023544312, 'text': '-255', 'url': None},
                     {'box': [826, 302, 36, 22], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9984695911407471, 'text': '30米', 'url': None},
                     {'box': [772, 308, 9, 13], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.3757246136665344, 'text': '(', 'url': None},
                     {'box': [555, 326, 27, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9984913468360901, 'text': '甲', 'url': None},
                     {'box': [683, 361, 207, 40], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9538673758506775, 'text': '高程/米85崩塌堆积物', 'url': None},
                     {'box': [371, 376, 38, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9397244453430176, 'text': '28.5', 'url': None},
                     {'box': [564, 380, 48, 30], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9822876453399658, 'text': '西南', 'url': None},
                     {'box': [362, 385, 52, 108], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.24344418942928314, 'text': '3343', 'url': None},
                     {'box': [723, 392, 61, 49], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.0, 'text': '', 'url': None},
                     {'box': [766, 398, 74, 33], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9723772406578064, 'text': '砂岩', 'url': None},
                     {'box': [555, 425, 57, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9999077916145325, 'text': '越江河', 'url': None},
                     {'box': [766, 431, 74, 33], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8039437532424927, 'text': '目泥岩', 'url': None},
                     {'box': [731, 432, 44, 24], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8484617471694946, 'text': '255', 'url': None},
                     {'box': [730, 447, 38, 22], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8743957877159119, 'text': '-245', 'url': None},
                     {'box': [819, 462, 43, 24], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9985333681106567, 'text': '30米', 'url': None},
                     {'box': [731, 464, 59, 22], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9937853813171387, 'text': '235', 'url': None},
                     {'box': [555, 487, 25, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.798667848110199, 'text': '乙', 'url': None},
                     {'box': [771, 496, 117, 31], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9646660089492798, 'text': '崩塌堆积物', 'url': None},
                     {'box': [760, 508, 137, 64], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.41301417350769043, 'text': '粉', 'url': None},
                     {'box': [769, 558, 84, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8601129651069641, 'text': '紫色土', 'url': None},
                     {'box': [689, 563, 61, 21], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9918223023414612, 'text': '高程/米', 'url': None},
                     {'box': [523, 575, 47, 29], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9833493828773499, 'text': '西南', 'url': None},
                     {'box': [731, 606, 31, 24], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.5692769885063171, 'text': '1365', 'url': None},
                     {'box': [512, 615, 54, 22], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9970079660415649, 'text': '越江河', 'url': None},
                     {'box': [769, 618, 68, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.7945010662078857, 'text': '目泥岩', 'url': None},
                     {'box': [542, 647, 61, 21], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.0, 'text': '', 'url': None},
                     {'box': [731, 650, 59, 21], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.0, 'text': '', 'url': None},
                     {'box': [791, 650, 70, 23], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9937577843666077, 'text': '45米', 'url': None},
                     {'box': [554, 676, 28, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996700882911682, 'text': '丙', 'url': None},
                     {'box': [294, 686, 27, 10], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9042730331420898, 'text': '河流', 'url': None},
                     {'box': [467, 714, 46, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9998550415039062, 'text': '图3', 'url': None},
                     {'box': [44, 751, 190, 26], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9953068494796753, 'text': '10.瀑布最可能位于', 'url': None},
                     {'box': [76, 787, 120, 25], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9988711476325989, 'text': 'A.甲地上游', 'url': None},
                     {'box': [288, 787, 118, 25], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9955120086669922, 'text': 'B.甲乙之间', 'url': None},
                     {'box': [714, 787, 122, 30], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996547698974609, 'text': 'D.丙地下游', 'url': None},
                     {'box': [491, 788, 118, 26], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9989296793937683, 'text': 'C.乙丙之间', 'url': None},
                     {'box': [41, 821, 654, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9974947571754456,
                      'text': '11.低坑瀑布长期保持相对稳定的陡崖状态且向上游移动，推测该处',
                      'url': None},
                     {'box': [77, 860, 166, 25], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9988264441490173, 'text': 'A.岩层上硬下软', 'url': None},
                     {'box': [481, 860, 173, 26], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996273517608643, 'text': 'C.断层切断河流', 'url': None},
                     {'box': [289, 863, 165, 20], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.999759316444397, 'text': 'B.河流流量稳定', 'url': None},
                     {'box': [715, 863, 165, 25], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9988868236541748, 'text': 'D.地壳一直上升', 'url': None},
                     {'box': [41, 894, 722, 29], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9775046110153198,
                      'text': '12.越江河河口段（注人嘉陵江处)河床-一直没有泥沙淤积，主要是因为该处',
                      'url': None},
                     {'box': [76, 932, 142, 26], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996112585067749, 'text': 'A.河床落差大', 'url': None},
                     {'box': [286, 932, 121, 26], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996910095214844, 'text': 'B.含沙量小', 'url': None},
                     {'box': [715, 935, 120, 25], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9995624423027039, 'text': 'D.河道宽阔', 'url': None},
                     {'box': [491, 937, 140, 21], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9984964728355408, 'text': 'C.侧蚀能力强', 'url': None},
                     {'box': [84, 966, 849, 30], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9894276261329651,
                      'text': '2019年6月，我国C汽车集团在俄罗斯图拉投资的整车制造厂正式竣工投产，其产品逐',
                      'url': None},
                     {'box': [41, 1002, 891, 31], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9977039098739624,
                      'text': '渐进入高端市场。与散件组装工厂不同，该工厂拥有冲压、焊接、涂装、总装四大生产工艺，通',
                      'url': None},
                     {'box': [39, 1038, 892, 31], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.999128520488739,
                      'text': '过先进工艺和工装设备的引入，确保整个生产流程安全、高效且环保，制造水平达世界一流。',
                      'url': None},
                     {'box': [39, 1076, 611, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9955087900161743, 'text': '图4示意图拉C汽车制造厂的地理位置。据此完成13～14题。',
                      'url': None},
                     {'box': [305, 1110, 32, 24], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9881137609481812, 'text': '30°', 'url': None},
                     {'box': [454, 1112, 33, 24], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9504010081291199, 'text': '40°', 'url': None},
                     {'box': [409, 1174, 65, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996994137763977, 'text': '莫斯科', 'url': None},
                     {'box': [234, 1195, 87, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9937430024147034, 'text': '白俄罗斯', 'url': None},
                     {'box': [350, 1213, 146, 59], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9187573790550232, 'text': '772千米8图拉', 'url': None},
                     {'box': [244, 1219, 70, 31], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9938734173774719, 'text': '明思克', 'url': None},
                     {'box': [374, 1294, 81, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9865845441818237, 'text': '716千米', 'url': None},
                     {'box': [250, 1297, 58, 30], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9445468187332153, 'text': '乌克', 'url': None},
                     {'box': [596, 1300, 147, 30], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9980217814445496, 'text': 'C汽车制造厂', 'url': None},
                     {'box': [305, 1308, 16, 11], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.14976930618286133, 'text': '艺', 'url': None},
                     {'box': [278, 1325, 43, 24], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.991582989692688, 'text': '基辅', 'url': None},
                     {'box': [622, 1334, 69, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9999384880065918, 'text': '国界线', 'url': None},
                     {'box': [464, 1373, 46, 30], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9997106790542603, 'text': '图4', 'url': None},
                     {'box': [39, 1411, 467, 26], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9979977607727051, 'text': '13.影响C集团在俄罗斯投资建厂的主要因素是', 'url': None},
                     {'box': [71, 1446, 79, 26], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9964461326599121, 'text': 'A.技术', 'url': None},
                     {'box': [282, 1446, 80, 31], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9990798234939575, 'text': 'B.资金', 'url': None},
                     {'box': [487, 1448, 77, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9993312358856201, 'text': 'C.市场', 'url': None},
                     {'box': [712, 1448, 98, 27], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9995754361152649, 'text': 'D.劳动力', 'url': None},
                     {'box': [1039, 101, 538, 26], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9980846643447876, 'text': '14.与散件组装相比，C集团选择整车制造的主要目的是',
                      'url': None},
                     {'box': [1228, 139, 422, 27], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9798987507820129, 'text': '本B.方便原料供应C.提高品牌溢价', 'url': None},
                     {'box': [1712, 140, 164, 27], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.999846875667572, 'text': 'D.提高产品质量', 'url': None},
                     {'box': [1076, 142, 164, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9995003342628479, 'text': 'A.降低生产成本', 'url': None},
                     {'box': [1085, 176, 844, 28], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9790188670158386,
                      'text': '图5示意1949～2018年西北太平洋和南海台风生成源地密度分布（单位：个/πR2，R=',
                      'url': None},
                     {'box': [1038, 214, 321, 27], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9869827032089233, 'text': '250千米）。据此完成15～16题。', 'url': None},
                     {'box': [1249, 296, 48, 22], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8469107747077942, 'text': '40°N-', 'url': None},
                     {'box': [1249, 399, 45, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8716684579849243, 'text': '20°N', 'url': None},
                     {'box': [1269, 501, 21, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.6966297626495361, 'text': '0', 'url': None},
                     {'box': [1272, 520, 50, 22], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9019560813903809, 'text': '100°E', 'url': None},
                     {'box': [1476, 520, 51, 22], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9562029838562012, 'text': '140°E', 'url': None},
                     {'box': [1678, 520, 40, 24], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.854729413986206, 'text': '180°', 'url': None},
                     {'box': [1375, 522, 48, 20], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9051800966262817, 'text': '120°E', 'url': None},
                     {'box': [1579, 522, 49, 22], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.8923061490058899, 'text': '160°E', 'url': None},
                     {'box': [1461, 553, 47, 28], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996399879455566, 'text': '图5', 'url': None},
                     {'box': [1041, 594, 321, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9995353817939758, 'text': '15.影响台湾岛的强台风主要来自', 'url': None},
                     {'box': [1485, 629, 141, 26], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9986757636070251, 'text': 'C.太平洋中部', 'url': None},
                     {'box': [1284, 631, 138, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9924721717834473, 'text': 'B.菲律宾以东', 'url': None},
                     {'box': [1712, 632, 141, 25], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9997786283493042, 'text': 'D.台湾岛附近', 'url': None},
                     {'box': [1073, 632, 119, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9987289309501648, 'text': 'A.南海北部', 'url': None},
                     {'box': [1036, 668, 677, 26], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.999172568321228,
                      'text': '16.除纬度因素外，影响西北太平洋台风源地位置的主要因素还主要有',
                      'url': None},
                     {'box': [1072, 706, 120, 25], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9998050332069397, 'text': 'A.副高位置', 'url': None},
                     {'box': [1283, 708, 118, 25], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9997052550315857, 'text': 'B.洋流流向', 'url': None},
                     {'box': [1486, 708, 141, 25], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9993653297424316, 'text': 'C.夏季风强度', 'url': None},
                     {'box': [1712, 709, 141, 25], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996899962425232, 'text': 'D.冬季风强度', 'url': None},
                     {'box': [1038, 746, 327, 25], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9942381978034973, 'text': '二、非选择题：共4道题，共52分。', 'url': None},
                     {'box': [1039, 786, 406, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9983269572257996, 'text': '17.阅读图文材料，完成下列要求。（16分）', 'url': None},
                     {'box': [1115, 820, 812, 29], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.998883068561554,
                      'text': '挪威非常重视风电、水电等可再生能源的开发，2003年建设了第一座商用水下潮汐',
                      'url': None},
                     {'box': [1070, 858, 859, 30], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9990904927253723,
                      'text': '洋流发电站。这座发电站类似于一个水下的风车，发电装置被固定在距海底20米高的钢',
                      'url': None},
                     {'box': [1070, 897, 859, 28], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9993535876274109,
                      'text': '柱顶端，当海水流过时，直径10米的叶轮就会随之转动，从而产生电能。叶轮转动缓慢，', 'url': None},
                     {'box': [1069, 935, 860, 28], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9992290139198303,
                      'text': '没有噪声，朝向还会随着水流的方向自动调整。图6示意挪威的地理位置及水下潮汐洋', 'url': None},
                     {'box': [1072, 977, 120, 20], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9971491694450378, 'text': '流能发电机。', 'url': None},
                     {'box': [1288, 1016, 18, 11], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.6925497651100159, 'text': '10°', 'url': None},
                     {'box': [1186, 1019, 25, 20], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9548599720001221, 'text': '70°', 'url': None},
                     {'box': [1353, 1019, 12, 5], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.08060856908559799, 'text': '3', 'url': None},
                     {'box': [1703, 1037, 109, 25], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9998763799667358, 'text': '发电机机舱', 'url': None},
                     {'box': [1568, 1047, 50, 23], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9998477697372437, 'text': '叶轮', 'url': None},
                     {'box': [1684, 1065, 44, 24], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9999337792396545, 'text': '水流', 'url': None},
                     {'box': [1672, 1180, 43, 23], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9998615980148315, 'text': '水流', 'url': None},
                     {'box': [1189, 1226, 10, 6], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.12557674944400787, 'text': '?', 'url': None},
                     {'box': [1473, 1236, 54, 23], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9998066425323486, 'text': '城市', 'url': None},
                     {'box': [1652, 1239, 44, 21], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9995608329772949, 'text': '支柱', 'url': None},
                     {'box': [1478, 1265, 71, 20], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9997329711914062, 'text': '国界线', 'url': None},
                     {'box': [1478, 1304, 43, 24], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9996435642242432, 'text': '图6', 'url': None},
                     {'box': [1069, 1340, 580, 26], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.978874921798706, 'text': '（1)与风力发电相比，说明水下潮汐洋流发电的优点。（6分）',
                      'url': None},
                     {'box': [1069, 1378, 543, 27], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.966254472732544, 'text': '(2)简述挪威发展水下潮汐洋流发电的优势条件。（6分）',
                      'url': None},
                     {'box': [1069, 1417, 545, 26], 'clsScore': -1, 'columnNum': 1, 'error': 0, 'lineNum': None,
                      'pageNum': None,
                      'recScore': 0.9745469689369202, 'text': '(3)指出挪威发展水下潮汐洋流发电的环境意义。（4分）',
                      'url': None}],
             'url': 'https://demo-1251808174.cos.ap-chengdu.myqcloud.com/media/edoc/common/2024-06/2771/img_2.webp?imageMogr2/rotate/90'}]}

#   {'box': [92, 96, 844, 28], 'clsScore': -1, 'columnNum': 0, 'error': 0, 'lineNum': None,
#                       'pageNum': None,
#                       'recScore': 0.9992925524711609,
#                       'text': '嘉陵江支流越江河低坑村河段发育有一处瀑布，瀑布下方在冲刷作用下形成一个深度超',
#                       'url': None},

results = x['result'][0]['result']

text_blocks = []
for i in results:
    if i['text']:
        text_blocks.append(i)

from gap_tree_sort.gap_tree import GapTree  # gap_tree.py


def tb_bbox(tb):  # 从文本块对象中，提取左上角、右下角坐标元组
    b = tb["box"]
    return (b[0], b[1], b[0] + b[2], b[1] + b[3])


gtree = GapTree(tb_bbox)
t1 = time.time()
print('text_blocks', text_blocks[0])
sorted_text_blocks = gtree.sort(text_blocks)  # 输入文本块，进行排序
t2 = time.time()
print(t2 - t1)



for tbs in sorted_text_blocks:
   print(tbs['text'])
